Apache ANT এর দুটি গুরুত্বপূর্ণ উপাদান হল Fileset এবং Pathset। এগুলি বিভিন্ন ফাইল বা ডিরেক্টরি সম্পর্কিত কার্যক্রম পরিচালনার জন্য ব্যবহৃত হয়, যেমন ফাইল সিলেকশন বা বিভিন্ন ডিরেক্টরি থেকে ফাইলের পথ সংরক্ষণ।
১. Fileset
Fileset ANT-এর একটি ট্যাগ যা ব্যবহারকারীদের ফাইল বা ফোল্ডারের একটি গ্রুপ (সেট) তৈরি করতে সাহায্য করে। এটি আপনাকে একটি নির্দিষ্ট প্যাটার্নের মাধ্যমে ফাইল নির্বাচন করতে দেয়। ফাইলগুলির উপর বিভিন্ন অপারেশন যেমন কপি, কম্পাইল, বা মুছতে সাহায্য করতে পারে।
Fileset ট্যাগের ব্যবহার:
filesetএকটি প্যাটার্নের সাহায্যে নির্দিষ্ট ফাইল বা ফোল্ডার সিলেক্ট করতে ব্যবহৃত হয়।- এটি
dirএবংincludes/excludesঅ্যাট্রিবিউট ব্যবহার করে ফাইল নির্বাচন করতে সাহায্য করে।
উদাহরণ:
<project name="Fileset Example" default="copyFiles">
<target name="copyFiles">
<!-- 'src' ডিরেক্টরি থেকে সমস্ত .java ফাইল কপি করুন -->
<copy todir="build/classes">
<fileset dir="src" includes="**/*.java"/>
</copy>
</target>
</project>
এই উদাহরণে, src ডিরেক্টরি থেকে সমস্ত .java ফাইল build/classes ডিরেক্টরিতে কপি করা হবে।
Fileset এর অন্যান্য গুরুত্বপূর্ণ অ্যাট্রিবিউট:
dir: উৎস ডিরেক্টরি নির্দেশ করে।includes: কোন ফাইলগুলি অন্তর্ভুক্ত হবে তা নির্ধারণ করে।excludes: কোন ফাইলগুলি বাদ দেওয়া হবে তা নির্ধারণ করে।caseSensitive: প্যাটার্ন অনুসন্ধানের ক্ষেত্রে কেস সেনসিটিভ সেটিং নির্ধারণ করে।
২. Pathset
Pathset ANT এর একটি ট্যাগ যা বিভিন্ন ফাইলপথের একটি সেট তৈরি করতে ব্যবহৃত হয়। এটি মূলত একটি ফাইল পাথের তালিকা তৈরি করে, যা পরে অন্যান্য টাস্কের জন্য ব্যবহার করা যেতে পারে, যেমন ক্লাসপাথ, ইনপুট ফাইল পাথ ইত্যাদি।
Pathset ট্যাগের ব্যবহার:
pathsetব্যবহৃত হয় পাথের একটি সেট তৈরি করার জন্য এবং এটিpathট্যাগের সাথে কাজ করে।
উদাহরণ:
<project name="Pathset Example" default="setClasspath">
<target name="setClasspath">
<path id="my.classpath">
<fileset dir="lib" includes="*.jar"/>
</path>
</target>
</project>
এই উদাহরণে, lib ডিরেক্টরি থেকে সমস্ত .jar ফাইল একটি পাথ হিসাবে সংরক্ষিত হবে। এরপর এই পাথটি ব্যবহার করা যাবে অন্য কোনো টাস্কে, যেমন ক্লাসপাথ হিসেবে ব্যবহার করা।
Pathset এর অন্যান্য গুরুত্বপূর্ণ অ্যাট্রিবিউট:
id: এটি পাথ সেটের জন্য একটি পরিচিতি তৈরি করে, যার মাধ্যমে এটি অন্য টাস্কে রেফার করা যেতে পারে।refid: অন্য কোনো পাথ সেট বা প্রপার্টির সাথে রেফারেন্স করতে ব্যবহৃত হয়।
Fileset এবং Pathset-এর মধ্যে পার্থক্য:
| বৈশিষ্ট্য | Fileset | Pathset |
|---|---|---|
| প্রধান উদ্দেশ্য | ফাইল বা ফোল্ডার সিলেকশন | ফাইলপাথের সেট তৈরি |
| ব্যবহার ক্ষেত্র | কপি, কম্পাইল, বা মুছতে ফাইলের গ্রুপ | ক্লাসপাথ বা পাথের তালিকা তৈরি করা |
| প্রধান অ্যাট্রিবিউট | dir, includes, excludes | id, refid, fileset, path |
| উদাহরণ | ফাইল কপি করা | পাথের সেট তৈরি করা |
উদাহরণ: Fileset এবং Pathset একসাথে ব্যবহার
<project name="Fileset and Pathset Example" default="compile">
<target name="compile">
<!-- Pathset তৈরি করুন যা JAR ফাইলের পাথ ধারণ করবে -->
<path id="lib.path">
<fileset dir="lib" includes="*.jar"/>
</path>
<!-- ক্লাসপাথে পাথ সেট যোগ করা -->
<javac srcdir="src" destdir="build/classes" classpathref="lib.path"/>
</target>
</project>
এখানে, প্রথমে fileset দিয়ে lib ডিরেক্টরি থেকে সমস্ত .jar ফাইল নির্বাচন করা হয়েছে এবং pathset এর মাধ্যমে তাদের ক্লাসপাথে রেফারেন্স করা হয়েছে। পরে, javac টাস্কের মাধ্যমে এই পাথ ব্যবহার করা হয়েছে।
সারমর্ম:
- Fileset এবং Pathset দুটি গুরুত্বপূর্ণ টুল যা ANT এ ফাইল সিলেকশন এবং পাথ পরিচালনা করতে সাহায্য করে।
- Fileset প্রধানত ফাইল নির্বাচন এবং ফাইল অপারেশনের জন্য ব্যবহৃত হয়, যেমন কপি করা।
- Pathset ফাইলপথ বা পাথের তালিকা তৈরি এবং ক্লাসপাথে সেট করতে ব্যবহৃত হয়।
- এগুলোর মাধ্যমে ANT এর বিল্ড প্রক্রিয়া আরও কার্যকর এবং পরিচালনাযোগ্য হয়।
Read more